Skip to content

Simplify root CI to grouped-tests.yml (matrix from test/test_groups.toml)#198

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:grouped-tests-ci
Jun 8, 2026
Merged

Simplify root CI to grouped-tests.yml (matrix from test/test_groups.toml)#198
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:grouped-tests-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Summary

Converts the root test workflow (.github/workflows/CI.yml, status check name: "Tests") from a hand-maintained group × version matrix that directly called tests.yml@v1 into a thin caller of the new grouped-tests.yml@v1. The matrix now lives once in a new root test/test_groups.toml.

SublibraryCI.yml (the sublibrary-project-tests.yml@v1 project-model workflow) is intentionally left untouched — this PR only touches the root umbrella package's own test groups.

.github/workflows/CI.yml (in place)

on: triggers, concurrency:, and the workflow name: "Tests" are preserved verbatim, so the branch-protection status-check name is unchanged. The job body becomes:

jobs:
  tests:
    uses: "SciML/.github/.github/workflows/grouped-tests.yml@v1"
    secrets: "inherit"

No with: inputs are needed: the old job used tests.yml@v1 defaults (check-bounds: yes, coverage: true, single ubuntu-latest, default threads, no continue-on-error) and the root test/runtests.jl dispatches on the default GROUP env var (get(ENV, "GROUP", "All")).

New test/test_groups.toml

[Core]
versions = ["lts", "1", "pre"]

[QA]
versions = ["lts", "1"]

This reproduces the old matrix exactly (the old workflow ran group: [Core, QA] × version: [lts, 1, pre] with exclude: QA/pre).

Verified matrix match

Ran scripts/compute_affected_sublibraries.jl <repo> --root-matrix from SciML/.github@v1 against the new test/test_groups.toml and compared its (group, version) set against the set the old CI.yml matrix produced:

OLD: [(Core,lts), (Core,1), (Core,pre), (QA,lts), (QA,1)]
NEW: [(Core,lts), (Core,1), (Core,pre), (QA,lts), (QA,1)]
missing: []   extra: []   EXACT MATCH: 5/5

TOML and both workflow YAML files parse cleanly. The package test suite was not run locally (heavy; CI validates).


Ignore until reviewed by @ChrisRackauckas.

…oml)

Convert the root "Tests" workflow (CI.yml) from a hand-maintained
group x version matrix calling tests.yml@v1 into a thin caller of
grouped-tests.yml@v1, with the matrix declared once in
test/test_groups.toml. SublibraryCI.yml (project model) is untouched.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 8, 2026 11:48
@ChrisRackauckas ChrisRackauckas merged commit 078bf12 into SciML:master Jun 8, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants